<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
	<TITLE></TITLE>
	<META NAME="GENERATOR" CONTENT="OpenOffice.org 2.4  (Unix)">
	<META NAME="CREATED" CONTENT="20080628;20420200">
	<META NAME="CHANGED" CONTENT="20080630;16255800">
	<STYLE TYPE="text/css">
	<!--
		@page { size: 8.5in 11in; margin: 0.79in }
		P { margin-bottom: 0.08in }
		H1 { margin-bottom: 0.08in; page-break-after: avoid }
		H1.western { font-family: "Liberation Sans", sans-serif; font-size: 16pt; font-weight: bold }
		H1.cjk { font-family: "DejaVu Sans"; font-size: 16pt; font-weight: bold }
		H1.ctl { font-family: "DejaVu Sans"; font-size: 16pt; font-weight: bold }
		H3 { margin-bottom: 0.08in; page-break-after: avoid }
		H3.western { font-family: "Liberation Sans", sans-serif; font-size: 14pt; font-weight: bold }
		H3.cjk { font-family: "DejaVu Sans"; font-size: 14pt; font-weight: bold }
		H3.ctl { font-family: "DejaVu Sans"; font-size: 14pt; font-weight: bold }
		H4 { margin-bottom: 0.04in; line-height: 100%; page-break-after: avoid }
		H4.western { font-family: "Arial", sans-serif; font-size: 14pt; font-style: italic; font-weight: bold }
		H4.cjk { font-family: "SimSun", "宋体"; font-size: 14pt; so-language: zh-CN; font-style: italic; font-weight: bold }
		H4.ctl { font-family: "Verdana"; font-size: 14pt; so-language: ar-SA; font-style: italic; font-weight: bold }
		H2 { margin-bottom: 0.04in; page-break-after: avoid }
		H2.western { font-family: "Arial", sans-serif; font-size: 14pt; font-style: italic; font-weight: bold }
		H2.cjk { font-family: "Verdana"; font-size: 14pt; font-style: italic; font-weight: bold }
		H2.ctl { font-family: "Arial", sans-serif; font-size: 14pt; font-style: italic; font-weight: bold }
		TD P { margin-bottom: 0.08in }
		A:link { color: #000080; text-decoration: underline }
		A:visited { color: #800000; text-decoration: underline }
	-->
	</STYLE>
</HEAD>
<BODY LANG="ru-RU" LINK="#000080" VLINK="#800000" DIR="LTR">
<P STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><SPAN STYLE="background: transparent">Санкт-Петербургский
государственный университет информационных
технологий, механики и оптики</SPAN></P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><FONT SIZE=4 STYLE="font-size: 15pt"><SPAN STYLE="background: transparent">Кафедра
«Компьютерные технологии»</SPAN></FONT></P>
<P STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><FONT SIZE=4 STYLE="font-size: 15pt"><SPAN STYLE="background: transparent">А.В.
Яковлев, В.Г. Лашманов</SPAN></FONT></P>
<P STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><FONT SIZE=4 STYLE="font-size: 16pt"><B><SPAN STYLE="background: transparent">Пояснительная
записка к курсовой работе по теме
«Языковые процессоры».</SPAN></B></FONT></P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><SPAN STYLE="background: transparent"><FONT SIZE=4 STYLE="font-size: 16pt"><B>Задание
№16</B></FONT><FONT SIZE=4 STYLE="font-size: 16pt"><B>.</B></FONT></SPAN></P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-right: 0.05in; margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><FONT SIZE=4><SPAN STYLE="background: transparent">Санкт-Петербург</SPAN></FONT></P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><FONT SIZE=4><SPAN STYLE="background: transparent">2007-2008</SPAN></FONT></P>
<DIV ID="Оглавление1" DIR="LTR">
	<P><BR><BR>
	</P>
	<DIV ID="Table of Contents1_Head" DIR="LTR">
		<P STYLE="margin-top: 0.17in; page-break-before: always; page-break-after: avoid">
		<FONT FACE="Liberation Sans, sans-serif"><FONT SIZE=4 STYLE="font-size: 16pt"><B>Table
		of Contents</B></FONT></FONT></P>
	</DIV>
	<P STYLE="margin-bottom: 0in">Описание входного
	языка 3</P>
	<P STYLE="margin-left: 0.39in; margin-bottom: 0in">Задание 3</P>
	<P STYLE="margin-left: 0.39in; margin-bottom: 0in">Описание
	синтаксиса 3</P>
	<P STYLE="margin-left: 0.39in; margin-bottom: 0in">Описание
	семантики 5</P>
	<P STYLE="margin-bottom: 0in">Лексический анализ 7</P>
	<P STYLE="margin-left: 0.39in; margin-bottom: 0in">Состав
	лексем 8</P>
	<P STYLE="margin-left: 0.39in; margin-bottom: 0in">Диаграмма
	переходов лексического анализатора 9</P>
	<P STYLE="margin-bottom: 0in">Синтаксический анализ
	10</P>
	<P STYLE="margin-left: 0.39in; margin-bottom: 0in">Построение
	КС-грамматики входного языка 10</P>
	<P STYLE="margin-left: 0.39in; margin-bottom: 0in">Описание
	промежуточного языка 10</P>
</DIV>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.49in; line-height: 100%"><BR><BR>
</P>
<H1 CLASS="western" STYLE="page-break-before: always">Описание
входного языка</H1>
<H3 CLASS="western">Задание</H3>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.25in; margin-right: 0.06in; text-indent: 0.24in; margin-top: 0.08in; margin-bottom: 0in">
<FONT SIZE=4>Разработать языковый процессор
с языка программирования, являющегося
подмножеством языка С, в последовательность
тет&shy;рад.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.25in; text-indent: 0.24in; margin-bottom: 0in">
<FONT SIZE=4>Объектами языка являются
переменные, константы и массивы це&shy;лого,
вещественного и рационального типов и
вещественные матрицы. Кроме заданных
предопределенных типов разрешается
использовать ограниченные и перечислимые
типы и определять собственные типы.
Эквивалентность типов – структурная.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.25in; text-indent: 0.24in; margin-bottom: 0in">
<FONT SIZE=4>Язык должен допускать использование
арифметических выраже&shy;ний, в состав
которых могут входить константы и
простые перемен&shy;ные целого и
вещественного типов, элементы матриц,
круглые скобки и знаки операций: сложение,
вычитание, умножение и деление. Прио&shy;ритет
операций – обычный. Допускается
перегрузка операций.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.25in; text-indent: 0.24in; margin-bottom: 0in">
<FONT SIZE=4>В языке должны быть определены
следующие операции над матрицами:
вычисление определителя матрицы,
транспонирование матрицы, сумма матриц,
произведение матриц.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4>Операции над
рациональными числами: обращение к
числителю и знаменателю, выделение
целой и дробной части, приведение к
неправильной дроби, нахождение общего
знаменателя двух рациональных чисел,
приведение к простой дроби.</FONT></FONT></P>
<P STYLE="margin-left: 0.25in; text-indent: 0.24in; margin-bottom: 0in">
<FONT SIZE=4>Состав операторов:</FONT></P>
<UL>
	<LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0in"><FONT SIZE=4>оператор
	присваивания;</FONT></P>
	<LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0in"><FONT SIZE=4>оператор
	ввода;</FONT></P>
	<LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0in"><FONT SIZE=4>оператор
	вывода;</FONT></P>
	<LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0in"><FONT SIZE=4>составной
	оператор;</FONT></P>
	<LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0in"><FONT SIZE=4>оператор
	безусловного перехода;</FONT></P>
	<LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0in"><FONT SIZE=4>условный
	оператор, условие в котором задается
	отношением;</FONT></P>
	<LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0in"><FONT SIZE=4>оператор
	цикла с параметром.</FONT></P>
</UL>
<P STYLE="margin-left: 0.25in; text-indent: 0.24in; margin-bottom: 0in">
<FONT SIZE=4>Программа на входном языке может
содержать комментарии.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.25in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4>Синтаксический
анализ должен быть выполнен с использованием
алгоритма типа “перенос-свертка” для
грамматик слабого предшествования.</FONT></FONT></P>
<H3 CLASS="western" STYLE="page-break-before: always">Описание
синтаксиса</H3>
<P><BR><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; line-height: 100%">
Синтаксис языка описывается следующими
модифицированными формами Бэкуса-Наура:</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;comparision-type&gt;
::= NEQU | EQUALS | GEQU | LEQU | GREAT | LESS</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;arithmetic-type&gt;
::= PLUS | MINUS | DIV | MULT</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-type&gt;
::= ID</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-name&gt;
::= ID</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;label-name&gt;
::= ID</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;array-dimensions&gt;
::= DIGIT</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;program&gt;
::= {statement}</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;statement&gt;
::= </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">LFPAREN
{statement} RFPAREN |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-declaration&gt;
SEMICOLON | </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-assignment&gt;
SEMICOLON | </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-declaration-assignment&gt;
SEMICOLON | </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-declaration&gt;
SEMICOLON |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;print-statement&gt;
SEMICOLON |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;read-statement&gt;
SEMICOLON |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;label-statement&gt;
SEMICOLON |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;goto-statement&gt;
SEMICOLON |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;if-statement&gt;
|</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;while-statement&gt;
|</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;for-statement&gt;
|</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;typedef-statement&gt;
SEMICOLON |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;funcdef-statement&gt;
|</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;operdef-statement&gt;
|</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;funccall-statement&gt;
|</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;return-statement&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;expression&gt;
::= &lt;comparision-expression&gt; | &lt;arithmetic-expression&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;arithmetic-expression&gt;
::= </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;arithmetic-expression&gt;
&lt;arithmetic-type&gt; &lt;arithmetic-expression&gt; |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">LPAREN
&lt;arithmetic-expression&gt; RPAREN |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">DIGIT
|</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">DOUBLE</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;comparision-expression&gt;
::= </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">NOT
&lt;comparision-expression&gt; |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;arithmetic-expression&gt;
&lt;comparison-type&gt; &lt;arithmetic-expression&gt; |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable&gt;
::= </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-name&gt;
| </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable&gt;
DOT &lt;variable-name&gt; |</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable&gt;
LSPAREN &lt;arithmetic-expression&gt; RSPAREN</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-declaration&gt;
::= </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-type&gt;
&lt;variable-name&gt; | </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-type&gt;
&lt;variable-name&gt; LSPAREN &lt;array-dimensions&gt; RSPAREN</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-assignment&gt;
::= </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable&gt;
EQASSIGN &lt;expression&gt; | </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable&gt;
EQASSIGN &lt;function-call&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-declaration-assignment&gt;
::= </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-type&gt;
&lt;variable-name&gt; EQASSIGN &lt;expression&gt; | </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-type&gt;
&lt;variable-name&gt; EQASSIGN &lt;function-call&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;print-statement&gt;
::= PRINT &lt;expression&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;read-statement&gt;
::= READ &lt;variable&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;label-statement&gt;
::= LABEL &lt;label-name&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;goto-statement&gt;
::= GOTO &lt;label-name&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;if-statement&gt;
::= IF LPAREN &lt;comparision-expression&gt; RPAREN &lt;statement&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;for-statement&gt;
::= FOR LPAREN &lt;variable-assignment&gt; COLON &lt;expression&gt;
COLON &lt;variable-assignment&gt; RPAREN &lt;statement&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;while-statement&gt;
::= WHILE LPAREN &lt;comparision-expression&gt; RPAREN &lt;statement&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;return-statement&gt;
::= RETURN &lt;expression&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;typedef-statement&gt;
::= STRUCT &lt;variable-name&gt; LPAREN {&lt;variable-declaration&gt;
SEMICOLON} RPAREN</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;funccall-statement&gt;
::= </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-name&gt;
LPAREN RPAREN | </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-name&gt;
LPAREN {&lt;expression&gt; COLON} &lt;expression&gt; RPAREN</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-declaration-list&gt;
::= {variable-declaration COLON} variable-declaration</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;funcdef-statement&gt;
::=</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-type&gt;
&lt;variable-name&gt; LPAREN &lt;variable-declaration-list&gt; RPAREN
LFPAREN {statement} RFPAREN</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;operdef-statement&gt;
::=</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;operator-declaration&gt;
{statement}</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;operator-type&gt;
::= &lt;comparison-type&gt; | &lt;arithmetic-type&gt;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;operator-declaration&gt;
::=</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;variable-type&gt;
OPERATOR &lt;operator-type&gt; LPAREN &lt;variable-declaration-list&gt;
RPAREN </SPAN></FONT></FONT>
</P>
<H3 CLASS="western" STYLE="page-break-before: always">Описание
семантики</H3>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.02in"><FONT SIZE=4>	Программа
представляет собой последовательность
операторов. Операторами могут быть
декларации типов, переменных и функций,
вызовы функций и присвоения значений
переменным.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.02in"><FONT SIZE=4>	В
качестве имен переменных, меток, типов
и функций может использоваться любой
не использованный для этого типа
объектов. То есть вполне могут существовать
функция, переменная и тип с одним и тем
же именем. <SPAN STYLE="background: transparent">Однако,
</SPAN><FONT FACE="Times New Roman, serif"><SPAN STYLE="background: transparent">в
качестве идентификаторов нельзя
использовать ключевые слова языка.</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.02in"><FONT SIZE=4><FONT FACE="Times New Roman, serif"><SPAN STYLE="background: transparent">	Локальные
переменные с одним и тем же именем могут
быть описаны в разных блоках. В этом
случае область видимости переменной
простирается только на блок, в котором
она описана. Каждая переменная,
используемая в программе, должна быть
предварительно описана.</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.02in; line-height: 100%"><FONT SIZE=4><FONT FACE="Times New Roman, serif"><SPAN STYLE="background: transparent">	Эквивалентность
типов – структурная. Два объекта
принадлежат эквивалентным типам, если
у них одинаковая структура. Типизация
строгая, поэтому чтобы присвоить
переменной вещественного типа
целочисленное значение, следует
использовать функцию преобразования
типа.</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.02in; line-height: 100%"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">	Допускается
перегрузка функций и операторов по
значениям аргументов.</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.02in; line-height: 100%"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">	Внутренне
любые арифметические операции производятся
только с целым и вещественным типом,
при чем все аргументы операции должны
быть одного типа, и возвращают они
значение того же типа, что и аргументы.
Однако с помощью перегрузки операторов
на самом языке описаны арифметические
операции и операции сравнения между
аргументами разных типов.</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.02in; line-height: 100%"><FONT SIZE=4><SPAN STYLE="background: transparent"><FONT FACE="Times New Roman, serif">	В
языке отсутствует булевый тип, вместо
него используется целочисленный.
Значение 0 принимается логическим нулем,
любое другое — логической единицей.</FONT></SPAN></FONT></P>
<OL START=2>
	<H1 CLASS="western">Лексический анализ</H1>
</OL>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Лексический
и синтаксический анализаторы организованы
параллельно. Синтаксический анализатор
в процессе разбора очередной конструкции
языка обращается к лексическому
анализатору за очередной лексемой. </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Главной
задачей лексического анализатора
является преобразование входного потока
символов в выходной поток токенов и их
значений.</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">В
данном проекте лексический анализ
организован в несколько уровней. На
самом нижнем уровне, с помощью
детерминированного конечного автомата,
происходит выделение из входного потока
символов потока лексем. На этом же уровне
происходит пропуск незначащих пробелов,
переводов строки и табуляций. </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Этапы
синтаксического и лексического анализа
устроены параллельно. Это значит, что
лексический анализатор выполняет
единственную функцию – выделение
следующего токена из входного потока.</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Центральным
элементом лексического анализатора
является конечный детерминированный
автомат, в который подаются поочерёдно
все символы из входного потока до тех
пор пока автомат не окажется в допускающем
состоянии.</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">При
получении очередного символа, автомат
выполняет переход в другое состояние.
В случае, если переход осуществить
невозможно, выдаётся сообщение об
ошибке. Если переход осуществлён в
состояние “просмотра на символ вперёд”,
то этот символ возвращается обратно во
входной поток. Каждый символ, по которому
сделан переход, добавляется в выходную
строку, кроме случая когда переход
осуществлён в состояние “без вывода”.
В выходной строке сохраняется значение
токена. </SPAN></FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Существенно
сократить количество состояний и
переходов в автомате удалось благодаря
расположенному на следующем уровне
фильтру, принимающему на вход поток
лексем и выдающему отфильтрованный
поток лексем. Фильтрация состоит в
удалении из входного потока
лексем-комментариев, а также преобразование
лексем-идентификаторов согласно списку
ключевых слов (например, лексема “ID”
со значением “while” преобразуется в
лексему “while” со значением “”). Благодаря
этой технике, лексемы почти не пересекаются
по символам, что дало возможность сразу
построить детерминированный автомат
(без промежуточного недетерминированного).</SPAN></FONT></FONT></P>
<OL START=2>
	<OL>
		<OL START=0>
			<H3 CLASS="western"><B>Состав лексем</B></H3>
		</OL>
	</OL>
</OL>
<P><BR><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; line-height: 100%"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">В
нашем языке используются следующие
лексемы:</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; line-height: 100%">
<BR><BR>
</P>
<TABLE WIDTH=100% BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0>
	<COL WIDTH=72*>
	<COL WIDTH=139*>
	<COL WIDTH=44*>
	<TR VALIGN=TOP>
		<TD WIDTH=28% HEIGHT=8>
			<P ALIGN=CENTER STYLE="text-indent: -0.01in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Лексема</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER STYLE="text-indent: -0.01in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Семантика</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Обозначение
			на схеме</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">COMMENT</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Комментарии:
			строчный (//) и многострочный (/* */)</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">С</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28% HEIGHT=18>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">^</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Конец
			входного потока</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><BR>
			</P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">DIV</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Деление
			/</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">/</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">ID</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Идентификатор</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">ID</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">NOT</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Логическое
			отрицание</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">!</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">LPAREN</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">(</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">(</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">RPAREN</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">)</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">)</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">LFPAREN</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">{</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">{</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">RFPAREN</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">}</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">}</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">EQUALS</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><BR>
			</P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">=</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">SEMICOLON</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">;</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">;</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">COLON
			</SPAN></FONT></FONT>
			</P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">,</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">,</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">MULT
			</SPAN></FONT></FONT>
			</P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">*</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">*</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">TEXT
			</SPAN></FONT></FONT>
			</P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Строка
			в кавычках</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">T</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">LESS</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">LEQU</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;=</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&lt;=</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">GREATER</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&gt;</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&gt;</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">GEQU</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&gt;=</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">&gt;=</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">NEQU</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">!=</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">!=</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">DIGIT</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Целое</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">N</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">DOUBLE</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Вещественное</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">D</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">INCREMENT</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">++</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">++</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">DECREMENT</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">--</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">--</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">PLUS</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">+</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">+</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">MINUS</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">-</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">-</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">RSPAREN</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">]</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">]</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">LSPAREN</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">[</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">[</SPAN></FONT></FONT></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=28%>
			<P STYLE="margin-left: 0.24in; text-indent: 0.24in"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">DOT</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=54%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">.</SPAN></FONT></FONT></P>
		</TD>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">.</SPAN></FONT></FONT></P>
		</TD>
	</TR>
</TABLE>
<H3 CLASS="western">Диаграмма переходов
лексического анализатора</H3>
<P ALIGN=JUSTIFY><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4>Диаграмма
представляет из себя детерминированный
конечный автомат. Все состояния бывают
трёх типов: начальное (называется </FONT></FONT>“<FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4><I>s”</I></FONT></FONT><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4>),
промежуточные и допускающие. Название
допускающего состояния совпадает с
токеном, который будет передан на
дальнейший анализ.</FONT></FONT></P>
<P ALIGN=JUSTIFY><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4>Около
некоторых состояний написано слово
</FONT></FONT>“<FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4><I>ahead”</I></FONT></FONT><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4>.
Это означает, что после перехода в это
состояние символ возвращается обратно
во входной поток (это состояние называется
состоянием просмотра вперёд на один
символ).</FONT></FONT></P>
<P ALIGN=JUSTIFY><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4>Символ,
по которому происходит переход указан
над стрелкой. Кроме символов, над стрелкой
может быть указан класс символов.
Используются следующие классы символов:
любой символ (</FONT></FONT><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4><I>any</I></FONT></FONT><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4>),
разделитель (</FONT></FONT><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4><I>sep</I></FONT></FONT><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4>),
буква (</FONT></FONT><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4><I>alpha</I></FONT></FONT><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4>)
и буква либо цифра (</FONT></FONT><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4><I>alnum</I></FONT></FONT><FONT FACE="Nimbus Roman No9 L, serif"><FONT SIZE=4>).</FONT></FONT></P>
<P STYLE="page-break-before: always"><IMG SRC="yant_report_html_m4df0cc58.png" NAME="graphics1" ALIGN=LEFT WIDTH=665 HEIGHT=951 BORDER=0><BR CLEAR=LEFT><BR><BR>
</P>
<H1 CLASS="western" STYLE="page-break-before: always">Синтаксический
анализ</H1>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">На
этапе синтаксического анализа выполняется
проверка синтаксической корректности
исходной программы и преобразование
ее в некоторую внутреннюю форму, удобную
в дальнейшем для генерации объектного
кода.</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: transparent">Опишем
порядок действий, выполняемых при
разработке синтаксического анализатора.</SPAN></FONT></FONT></P>
<H3 CLASS="western">Построение КС-грамматики
входного языка</H3>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: #ffff00">КС-грамматика
входного языка строится на основании
БНФ следующим образом:</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: #ffff00">Заменить
металингвистические переменные БНФ
обозначениями нетерминальных символов,
используя короткие имена;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: #ffff00">В
качестве терминальных символов
использовать токены;</SPAN></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Arial, sans-serif"><FONT SIZE=3 STYLE="font-size: 13pt"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: #ffff00">Металингвистический
символ «::=» заменить символом «</SPAN></FONT></FONT><FONT FACE="Wingdings"><FONT SIZE=4><SPAN STYLE="background: #ffff00">à</SPAN></FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: #ffff00">»;</SPAN></FONT></FONT></FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.24in; text-indent: 0.24in; margin-bottom: 0in; line-height: 100%">
<FONT FACE="Arial, sans-serif"><FONT SIZE=3 STYLE="font-size: 13pt"><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: #ffff00">Исключить
металингвистические символы </SPAN></FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B><SPAN STYLE="background: #ffff00">[
]</SPAN></B></FONT></FONT><SPAN STYLE="background: #ffff00"> </SPAN><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: #ffff00">и
</SPAN></FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B><SPAN STYLE="background: #ffff00">{
}</SPAN></B></FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=4><SPAN STYLE="background: #ffff00">.</SPAN></FONT></FONT></FONT></FONT></P>
<H2 CLASS="western">Описание промежуточного
языка</H2>
<P ALIGN=JUSTIFY STYLE="text-indent: 0.49in; margin-bottom: 0in"><FONT SIZE=4>Для
бинарных операций удобной формой
представления программы после
синтаксического анализа являются
<I>тетрады</I>. Формат тетрад:</FONT></P>
<P ALIGN=CENTER STYLE="text-indent: 0.49in; margin-bottom: 0in"><FONT SIZE=4><B>&lt;код
операции&gt;, &lt;операнд_1&gt;, &lt;операнд_2&gt;,
&lt;результат&gt;,</B></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0in"><FONT SIZE=4>где
<B>&lt;операнд_1&gt;</B> и <B>&lt;операнд_2&gt;</B>
специфицируют аргументы, а <B>&lt;результат&gt;
</B>— временное имя для хранения результата
выполнения операции (переменная из
рабочей области).</FONT></P>
<P ALIGN=JUSTIFY STYLE="text-indent: 0.49in; margin-bottom: 0in"><FONT SIZE=4>В
качестве операндов тетрад наряду с
переменными и константами, определенными
в исходной программе, могут выступать
результаты ранее выполненных тетрад.
Например, выражение <FONT FACE="Courier New, monospace"><I>a*b+с*d</I></FONT>
представляется в виде последовательности
следующих тетрад:</FONT></P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><FONT SIZE=4>*, a, b, t1</FONT></P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><FONT SIZE=4>*, c, d, t2</FONT></P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><FONT SIZE=4>+, t1, t2, t3</FONT></P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0in"><FONT SIZE=4>Последовательность
тетрад представляет собой программу,
инструкции которой обрабатываются
последовательно. Операнды одной тетрады
должны быть одинакового типа. </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="text-indent: 0.49in; margin-bottom: 0in"><FONT SIZE=4>Основным
недостатком тетрад является большой
объем памяти, необходимый для их хранения.
Несмотря на то, что во многих тетрадах
имеются свободные поля, результат
выполнения операции всегда записывается
в четвертое поле.</FONT></P>
<P ALIGN=JUSTIFY STYLE="text-indent: 0.49in; margin-bottom: 0in"><FONT SIZE=4>Внутреннее
представление тетрады – запись, состоящая
из четырех лексем. При этом коды операций
тетрад, пустые поля, номера тетрад и
временные переменные являются лексемами
специального типа.</FONT></P>
<P ALIGN=RIGHT STYLE="margin-bottom: 0in"><BR>
</P>
<CENTER>
	<TABLE WIDTH=622 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0>
		<COL WIDTH=139>
		<COL WIDTH=23>
		<COL WIDTH=28>
		<COL WIDTH=33>
		<COL WIDTH=357>
		<TR>
			<TD COLSPAN=4 WIDTH=247>
				<P STYLE="page-break-inside: avoid; page-break-after: avoid"><FONT COLOR="#000000"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><B><SPAN STYLE="background: transparent">Тетрада</SPAN></B></FONT></FONT></FONT></P>
			</TD>
			<TD WIDTH=357>
				<P STYLE="page-break-inside: avoid; page-break-after: avoid"><FONT COLOR="#000000"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><B><SPAN STYLE="background: transparent">Семантика
				тетрады</SPAN></B></FONT></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">:=
				</SPAN></FONT></FONT>
				</P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">b</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a:=
				b</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">+</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">b</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">c</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">c
				:= a + b</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">-</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">b</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">c</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">c
				:= a - b</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">*</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">b</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">c</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">c
				:= a * b</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">/</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">b</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">c</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">c
				:= a / b</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">A2I</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">b</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">b
				:= int(a)</SPAN></FONT></FONT></P>
				<P ALIGN=JUSTIFY><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Преобразование
				типа вещественный-целый</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">I2A</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">b</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">b
				:= float(a)</SPAN></FONT></FONT></P>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Преобразование
				типа целый-вещественный</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">SUBS</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">i</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">t</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="margin-bottom: 0in; page-break-inside: avoid">
				<FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Вычисле<SPAN STYLE="font-style: normal">ние
				адреса i-го элемента массива </SPAN><SPAN STYLE="font-style: normal">a.</SPAN></SPAN></FONT></FONT></P>
				<P ALIGN=JUSTIFY STYLE="font-style: normal; page-break-inside: avoid">
				<FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Ячейка
				t начинает указывать на этот элемент
				массива</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">DEFL</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">l</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="margin-top: 0.04in; page-break-inside: avoid">
				<FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Определение
				метки l</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">BRL
				</SPAN></FONT></FONT>
				</P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">l</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Безусловный
				переход к тетраде с меткой l</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">BF</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">l</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">E</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="margin-top: 0.04in; page-break-inside: avoid">
				<FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Переход
				к тетраде с меткой l, если значение
				выражения E равно «ложь»</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=LEFT STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">BZL
				(BPL, BML)</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">l</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">E</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Переход
				к тетраде с меткой l, если значение
				выражения Е равно нулю (больше нуля,
				меньше нуля)</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=LEFT STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">CALL</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">l</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Вызов
				подпрограммы с меткой l</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=LEFT STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">RET</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Выход
				из подпрограммы</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=LEFT STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">PRINT</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Вывод
				значениея аргумента на печать</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=LEFT STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">READ</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Чтение
				значения с клавиатуры</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=LEFT STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">VARDECL</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">a</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Декларация
				переменной a</SPAN></FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=139>
				<P ALIGN=LEFT STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">ERROR</SPAN></FONT></FONT></P>
			</TD>
			<TD WIDTH=23>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=28>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=33>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><BR>
				</P>
			</TD>
			<TD WIDTH=357>
				<P ALIGN=JUSTIFY STYLE="page-break-inside: avoid"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="background: transparent">Останов
				и вывод сообщения об ошибке</SPAN></FONT></FONT></P>
			</TD>
		</TR>
	</TABLE>
</CENTER>
<H3 CLASS="western">Описание КС-грамматики</H3>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
Prog -&gt; StList</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
StL -&gt; St</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
StList -&gt; StL</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
StList -&gt; StList StL</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
StBlock -&gt; LFPAREN StList RFPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; VarDecl SEMICOLON</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; VarAssign SEMICOLON</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; VarDeclAssign SEMICOLON</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; StBlock</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; PrintSt SEMICOLON</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; ReadSt SEMICOLON</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; LabelSt SEMICOLON</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; GotoSt SEMICOLON</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; IfSt</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; WhileSt</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; ForSt</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; TypeDef SEMICOLON</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; FuncDef</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; OperatorDef</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; FuncCallSt SEMICOLON</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
St -&gt; ReturnSt SEMICOLON</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ArgDeclList -&gt; VarDecl</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ArgDeclList -&gt; ArgDeclList COLON VarDecl</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
FuncDefBody -&gt; ID ID LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
FuncDefBody -&gt; ID ID LPAREN RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
FuncDef -&gt; FuncDefBody StBlock</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDefBody -&gt; ID operator PLUS LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDefBody -&gt; ID operator MINUS LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDefBody -&gt; ID operator DIV LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDefBody -&gt; ID operator MULT LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDefBody -&gt; ID operator NOT LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDefBody -&gt; ID operator NEQU LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDefBody -&gt; ID operator EQUALS LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDefBody -&gt; ID operator GEQU LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDefBody -&gt; ID operator LEQU LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDefBody -&gt; ID operator GREAT LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDefBody -&gt; ID operator LESS LPAREN ArgDeclList RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
OperatorDef -&gt; OperatorDefBody StBlock</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
FuncCallArgs -&gt; ID LPAREN Expr</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
FuncCallArgs -&gt; FuncCallArgs COLON Expr</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
FuncCall -&gt; FuncCallArgs RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
FuncCall -&gt; ID LPAREN RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
FuncCallSt -&gt; FuncCall</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ReturnSt -&gt; return Expr</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
TypeDef -&gt; StructDef</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
StructDef -&gt; struct ID StBlock</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
VarName -&gt; ID</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
Var -&gt; VarName</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
Var -&gt; Var DOT ID</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
Var0 -&gt; Var LSPAREN Expr</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
Var -&gt; Var0 RSPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
VarDecl -&gt; ID VarName</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
VarDecl0 -&gt; VarDecl LSPAREN DIGIT</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
VarDecl -&gt; VarDecl0 RSPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
VarAssign -&gt; Var EQASSIGN Expr</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
VarAssign -&gt; Var EQASSIGN FuncCall</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
VarDeclAssign -&gt; VarDecl EQASSIGN Expr</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
VarDeclAssign -&gt; VarDecl EQASSIGN FuncCall</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprParen -&gt; DOUBLE</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprParen -&gt; DIGIT</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprParen -&gt; Var</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprParen -&gt; LPAREN ExprProxy RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprMul -&gt; ExprParen</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprMul -&gt; ExprMul MULT ExprParen</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprMul -&gt; ExprMul DIV ExprParen</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprSum -&gt; ExprMul</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprSum -&gt; ExprSum PLUS ExprMul</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprSum -&gt; ExprSum MINUS ExprMul</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprSum -&gt; MINUS ExprMul</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprComp -&gt; ExprSum</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprComp -&gt; NOT ExprComp</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprComp -&gt; ExprSum LESS ExprSum</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprComp -&gt; ExprSum GREAT ExprSum</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprComp -&gt; ExprSum LEQU ExprSum</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprComp -&gt; ExprSum GEQU ExprSum</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprComp -&gt; ExprSum EQUALS ExprSum</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprComp -&gt; ExprSum NEQU ExprSum</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
Expr -&gt; ExprComp</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ExprProxy -&gt; Expr</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
PrintSt -&gt; print Expr</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ReadSt -&gt; read Var</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
IfBody -&gt; if LPAREN ExprProxy RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
IfSt -&gt; IfBody St</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
WhileBody -&gt; while LPAREN ExprProxy RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
WhileSt -&gt; WhileBody St</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ForAssign -&gt; VarAssign</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ForInner0 -&gt; ForAssign COLON Expr</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ForInner -&gt; ForInner0 COLON ForAssign RPAREN</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ForBody -&gt; for LPAREN ForInner</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
ForSt -&gt; ForBody St</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
LabelSt -&gt; label ID</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
GotoSt -&gt; goto ID</P>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.27in; margin-bottom: 0in; line-height: 0.25in">
<BR>
</P>
<H4 CLASS="western">Описание символов грамматики</H4>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<DL>
	<DD>
	<TABLE WIDTH=626 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0>
		<COL WIDTH=181>
		<COL WIDTH=188>
		<COL WIDTH=213>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Имя
				символа</FONT></FONT></P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Семантика</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Атрибуты</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Prog</FONT></FONT></SUB></P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Все
				программа</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				инструкций, выполняющих программу</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>StList
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				операторов</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				инструкций, выполняющих данную часть
				программы</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>StL
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Элемент
				списка операторов</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				инструкций, выполняющих данную
				операцию</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>St
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Оператор</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				инструкций, выполняющих данную
				операцию</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>StBlock
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Составной
				оператор</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				инструкций, выполняющих данную часть
				программы</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>VarDecl
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Определение
				переменной</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Кортеж,
				состоящий из списка инструкций,
				необходимых для определения переменной,
				и самой переменной </FONT></FONT>
				</P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>VarAssign
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Присвоение
				переменной значения</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>список
				инструкций, необходимых для присвоение
				значения</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>VarDeclAssign
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Определение
				переменной и присвоение ей значения</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>список
				инструкций, необходимых для определения
				переменной и присвоения ей значения</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>PrintSt
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Оператор
				вывода на экран</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>список
				инструкций, необходимых для вычисления
				значения аргумента и вывода его на
				экран</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ReadSt
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Оператор
				ввода с клавиатуры</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>список
				инструкций, необходимых для ввода
				значения с клавиатуры</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>LabelSt
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Оператор
				оперделения метки</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>список
				инструкций, необходимых для определения
				метки</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>GotoSt
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Оператор
				безусловного перехода</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>список
				инструкций, необходимых для безусловного
				перехода</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>IfSt
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Условный
				оператор</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>список
				инструкций, необходимых для вычисления
				условия, осуществления условного
				ветвления и исполнения тела условного
				оператора</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>WhileSt
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Оператор
				цикла с предусловием</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>список
				инструкций, необходимых для вычисления
				значения условия, выполнения тела
				цикла и перехода в начало цикла</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ForSt
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Оператор
				цикла с параметром</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>список
				инструкций, необходимых для
				инициализации, выполнения тела цикла,
				инкремента и осуществления цикла с
				условием</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>TypeDef
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Декларация
				типа</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>пустой
				список инструкций</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>FuncDef
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Декларация
				функции</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				инструкций, декларирующих локальные
				переменные и выполняющих тело функции</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>OperatorDef
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Частный
				случай декларации функции — декларация
				оператора</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				инструкций, декларирующих локальные
				переменные и выполняющих тело оператора</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ReturnSt
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Оператор
				вывода значения из подпрограммы</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				инструкций, необходимых для вычисления
				значения выражения, вывода его из
				подпрограммы и выхода из неё</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>FuncCallSt
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Оператор
				вызова процедуры</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				инструкций, необходимых для вызова
				процедуры</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>FuncCall
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Вызов
				фукнции</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				инструкций, необходимых для вызова
				функции</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ArgDeclList
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				аргументов функции</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Список
				инструкций, декларирующих переменные
				аргументов</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>FuncDefBody
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Первая
				часть декларации функции, декларация
				возвращаемого типа, имени и аргументов</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Кортеж
				из возвращаемого типа, имени функции
				и списка инструкций, декларирующих
				переменные аргументов</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>OperatorDefBody
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Первая
				часть декларации оператора, декларация
				возвращаемого типа, имени и аргументов</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Кортеж
				из возвращаемого типа, имени оператора
				и списка инструкций, декларирующих
				переменные аргументов</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>FuncCallArgs
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Первая
				часть вызова функии, имя функции и
				начало списка аргументов</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Кортеж
				из имени функции и списка кортежей
				выражений аргументов (список операций,
				вычисляющих выражение и переменная,
				в которой хранится значение)</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>VarName
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Имя
				переменной</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Имя
				переменной</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Var
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Перменная</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Кортеж,
				состоящий из списка инструкций,
				необходимых для получения переменной,
				и самой переменной</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Var0
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Начало
				конструкции взятия элемента массива,
				переменная и выражение, задающее
				номер элемента</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Кортеж,
				состоящий из списка инструкций,
				необходимых для получения элемента
				переменной, и самого элемента переменной</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>VarDecl0
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Начало
				конструкции определения переменной-массива</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Кортеж,
				состоящий из списка инструкций,
				необходимых для декларации переменной,
				и самой переменной</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>StructDef
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Определение
				структуры</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>пустой
				список инструкций</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ForAssign
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Присвоение
				значения переменной в определении
				цикла с параметром</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>список
				инструкций, необходимых для присвоение
				значения</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ForInner0
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Первая
				часть внутренней части определения
				цикла с параметром, состоит из
				инициализации и условия</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>кортеж
				из списка инструкций, выполняющих
				инициализацию, и кортежа выражения
				условия (список операций, вычисляющих
				выражение и переменная, в которой
				хранится значение)</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ForInner
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>внутренняя
				часть определения цикла с параметром,
				состоит из инициализации, условия и
				инкремента</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>кортеж
				из списка инструкций выполняющих
				инициализацию, кортежа выражения
				условия (список операций, вычисляющих
				выражение и переменная, в которой
				хранится значение) и списка инструкций,
				выполняющих инкремент</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ForBody
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Определение
				оператора цикла с параметром</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>кортеж
				из списка инструкций выполняющих
				инициализацию, кортежа выражения
				условия (список операций, вычисляющих
				выражение и переменная, в которой
				хранится значение) и списка инструкций,
				выполняющих инкремент</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>WhileBody
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Определение
				оператора цикла с предусловием</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>кортеж
				выражения условия (список операций,
				вычисляющих выражение и переменная,
				в которой хранится значение)</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>IfBody
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Определение
				оператора условного ветвления</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>кортеж
				выражения условия (список операций,
				вычисляющих выражение и переменная,
				в которой хранится значение)</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ExprParen
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Выражение
				самого высокого приоритета</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>кортеж
				выражения (список операций, вычисляющих
				выражение и переменная, в которой
				хранится значение)</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ExprMul
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Выражение
				приоритета умножения</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>кортеж
				выражения (список операций, вычисляющих
				выражение и переменная, в которой
				хранится значение)</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ExprSum
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Выражение
				приоритета сложения</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>кортеж
				выражения (список операций, вычисляющих
				выражение и переменная, в которой
				хранится значение)</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ExprComp
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Выражение
				приоритета сравнения</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>кортеж
				выражения (список операций, вычисляющих
				выражение и переменная, в которой
				хранится значение)</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Expr
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Выражение</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>кортеж
				выражения (список операций, вычисляющих
				выражение и переменная, в которой
				хранится значение)</FONT></FONT></P>
			</TD>
		</TR>
		<TR VALIGN=TOP>
			<TD WIDTH=181>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><SUB><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ExprProxy
				</FONT></FONT></SUB>
				</P>
			</TD>
			<TD WIDTH=188>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Выражение,
				которое находится в скобках</FONT></FONT></P>
			</TD>
			<TD WIDTH=213>
				<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>кортеж
				выражения (список операций, вычисляющих
				выражение и переменная, в которой
				хранится значение)</FONT></FONT></P>
			</TD>
		</TR>
	</TABLE>
</DL>
<P ALIGN=JUSTIFY STYLE="margin-left: 0.16in; margin-bottom: 0in; line-height: 0.25in">
<BR>
</P>
</BODY>
</HTML>